import axios from 'axios';
import _     from 'lodash';

export default {

    get(url,params,options){
        options = options||{};
        if(!options.silence) this.loading = true; // 请求前，启动loading动画

        var vm = this;
        return axios.get(url,{params:params}).then((res)=>{
           vm.loading = false; // 请求结束，结束loading动画
           return res;
       }).catch((error)=>{
           if(error.response) {
               var res = error.response;
               if(res.unAuthorizedRequest === true){
                   
               }
           }
       });
    },

    post(url, data, options){
        options = options||{};
        if(!options.silence) this.loading = true; // 请求前，启动loading动画
        var vm = this;
        return axios({
            method: 'post',
            url: url,
            data: data,
        }).then(function(res){
           vm.loading = false; // 请求结束，结束loading动画
           return res;
        });
    },

    put(url, data, options){
        options = options||{};
        if(!options.silence) this.loading = true; // 请求前，启动loading动画
        
        var vm = this;
        return axios({
            method: 'put',
            url: url,
            data: data,
        }).then(function(res){
           vm.loading = false; // 请求结束，结束loading动画
           return res;
        });
    },

    buildQueryString(array, paramName){
        var items = _.map(array, (item,index)=>{
            return  paramName + '['+index+']='+item;
        });

        return '?' + items.join('&');
    },
}